package br.eco.eagua.dao;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import br.eco.eagua.model.Coleta;
import br.eco.eagua.model.Equipamento;
import br.eco.eagua.model.Usuario;
import android.content.ContentValues;
import android.content.DialogInterface.OnClickListener;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;




public class ProjetoDAO {

	private DatabaseHelper helper;

	public ProjetoDAO(DatabaseHelper helper) {
		this.helper = helper;
	}

	public void salvarColeta(Coleta coleta) {
		SQLiteDatabase db = helper.getWritableDatabase();
		ContentValues values = new ContentValues();

		values.put("idequipamento", coleta.getIdEquipamento());
		values.put("data", coleta.getData());
		values.put("hora", coleta.getHora());
		values.put("valor", coleta.getValor());
		db.insert("COLETA", null, values);

		db.close();
	}

	public void salvarEquipamento(Equipamento equipamento) {
		SQLiteDatabase db = helper.getWritableDatabase();
		ContentValues values = new ContentValues();
		values.put("nomeEquipamento", equipamento.getNomeEquipamento());
		db.insert("EQUIPAMENTO", null, values);

		db.close();

	}
	

	public List<String> carregarComboEquip() {
		SQLiteDatabase db = helper.getWritableDatabase();
		List<String> linhas = new ArrayList<String>();
		Cursor cursor = db.rawQuery("SELECT * FROM EQUIPAMENTO", null);

		if (cursor.moveToFirst()) {
			do {
				linhas.add(cursor.getString(1));
			} while (cursor.moveToNext());
		}

		cursor.close();
		db.close();

		return linhas;

	}
	
	public List<Map<String, Object>> ListarRegistros() {
		SQLiteDatabase db = helper.getWritableDatabase();
		List<Map<String, Object>> linhas = new ArrayList<Map<String,Object>>();
		Cursor cursor = db.rawQuery("SELECT Valor, data, hora FROM COLETA", null);
		
		if (cursor.moveToFirst()) {
			do {
				Map<String,Object> dados = new HashMap<String,Object>();
				dados.put("imagem", android.R.drawable.ic_dialog_info);
				dados.put("data" , cursor.getString(0));
				dados.put("hora" , cursor.getString(1));
				dados.put("valor" , cursor.getString(2));
				linhas.add(dados);
			} while (cursor.moveToNext());
		}

		cursor.close();
		db.close();		
		return linhas;
		

	}
		
	
	public boolean verificarUsuario(Usuario usuario){
		SQLiteDatabase db = helper.getReadableDatabase();
		Cursor cursor = db.rawQuery("SELECT * FROM USUARIO WHERE LOGIN = '"
		+ usuario.getLogin() +"' and SENHA = '"+ usuario.getSenha() +"';", null);
		
		if (cursor.getCount() == 0) {
			return false;
		}else
			return true;
		
	}
	
	public boolean verificarLogin(String login){
		SQLiteDatabase db = helper.getReadableDatabase();
		Cursor cursor = db.rawQuery("SELECT login FROM USUARIO WHERE LOGIN = '"
		+ login+"';", null);
		if (cursor.getCount() == 0) {
			return false;
		}else
			return true;
		
	}
	
	public void cadastrarUsuario(Usuario usuario){
		SQLiteDatabase db = helper.getWritableDatabase();
		ContentValues values = new ContentValues();

		values.put("login", usuario.getLogin());
		values.put("senha", usuario.getSenha());
		db.insert("USUARIO", null, values);
		db.close();
		
	}
	
	public boolean verificarEquipamento(String equipamento){
		SQLiteDatabase db = helper.getReadableDatabase();
		Cursor cursor = db.rawQuery("SELECT NOMEEQUIPAMENTO FROM EQUIPAMENTO WHERE NOMEEQUIPAMENTO = '"
		+ equipamento+"';", null);
		if (cursor.getCount() == 0) {
			return false;
		}else
			return true;
		
	}
	
	 public List<String> listarEquipamentos(){
		 SQLiteDatabase db = helper.getReadableDatabase();
		 Cursor cursor = db.rawQuery("select NOMEEQUIPAMENTO from EQUIPAMENTO", null);
		
		 List<String> lista = new ArrayList<String>();
		 
		 if (cursor.moveToFirst()) {
				do {
				 String nome = cursor.getString(0);
			 lista.add(nome);	
					
				} while (cursor.moveToNext());
			}	
		 cursor.close();
		 return lista;
	 }
	 public OnClickListener excluirEquipamento(String equip){
		 SQLiteDatabase db = helper.getReadableDatabase();		 
		 db.delete("Equipamento", "NOMEEQUIPAMENTO = '"+equip+"';",null);
		 db.close();		
		 return null;
		 
		 
	 }
	
	
}
